#ifndef __TASK_COMMON_VHNRXUB1
#define __TASK_COMMON_VHNRXUB1

#include <net/if.h>
#include <ctype.h>
#include "task_module.h"
#include "cmsXml_object.h"
#include "cms_mdm.h"


#define WAN_CONN_TYPE_IP_BRIDGED   "IP_Bridged"
#define WAN_CONN_TYPE_PPP_BRIDGED   "PPPoE_Bridged"
#define WAN_CONN_TYPE_IP_ROUTED   "IP_Routed"
#define WAN_CONN_TYPE_PPP_ROUTED   "PPPoE_Routed"

#define WAN_CONN_TYPE_BRIDGED   "bridge"
#define WAN_CONN_TYPE_PPPOE   "pppoe"
#define WAN_CONN_TYPE_IPOE   "ipoe"
#define PATH_PROC_NET_IFINET6  "/proc/net/if_inet6"
#define WAN_DEVICE_FILE "/var/wanPhysicalType"



#define RT_TABLE_FILE "/etc/iproute2/rt_tables"
#define POLICY_ROUTE_PREFIX "PolicyTable_"
#define POLICY_CMD_SET 1
#define POLICY_CMD_CLEAN 0
#define IPADDR_LEN 16

#define IPV4_MODE 1
#define IPV6_MODE 2
#define IPV4_IPV6_MODE 3

#define WAN_BASEMAC_FILE "/etc/macAddrBase"
#define MAC_ADDR_LEN 18
#define DEV_PROC_FILE "/proc/net/dev"
#define PON_STATUS_FILE "/tmp/pon_status"
#define DNS_SPECIAL_FILE "/etc/dnsmasq/special_resolv.conf"
#define DNS_V6SPECIAL_FILE "/etc/dnsmasq/v6special_resolv.conf"
#define MINI_HTTP_CONF_FILE "/opt/www/mini_httpd.conf"
#define DNS_SAVE_RULE "/etc/dnsmasq/savednsrule"


#define ROUTER_WAN_NAME_BRIDGE "br0:0"
#ifndef _LINUX_IN6_H
struct in6_ifreq {
    struct in6_addr ifr6_addr;
    uint32_t ifr6_prefixlen;
    unsigned int ifr6_ifindex;
};
#endif
//#define isdigit(x) ((x) >= '0' && (x) <= '9')
//#define isspace(c) ((c) == ' ')
//#define isalnum(c) (((c) >= 'a' && (c) <= 'z') || ((c) >= 'A' && (c) <= 'Z') || ((c) >= '0' && (c) <= '9'))
#define IS_EMPTY_STRING(s)    ((*s == '\0'))
#define IS_NULL_OR_EMPTY_STRING(s)    ((s == NULL) || (*s == '\0'))




#endif /* end of include guard: __TASK_COMMON_VHNRXUB1 */
